/**
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path);
}

/**
 * 手机号码校验
 */
export function checkMobile(val) {
  return /^1\d{10}$/.test(val);
}

/**
 * 工商注册号校验
 */
export function checkCompanyId(val) {
  return /(^(?:(?![IOZSV])[\dA-Z]){2}\d{6}(?:(?![IOZSV])[\dA-Z]){10}$)|(^\d{15}$)/.test(
    val
  );
}

/**
 * 身份证号校验
 */
export function checkCardId(val) {
  return /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(val);
}

/**
 * 固定电话校验
 */
export function checkPhone(val) {
  // return /^0\d{2,3}-?\d{7,8}$/.test(val);
  // return /^((0\d{2,3}-\d{7,8})|(1[3456789]\d{9}))$/.test(val);
  // return /([0-9]{3,4}-)?[0-9]{7,8}/.test(val);
  return (
    /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(val) ||
    /^400(-?\d{3,4}){2}$/.test(val)
  );
}

/**
 * 校验Url
 */
export function checkUrl(val) {
  return /^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/.test(
    val
  );
}

/**
 * 校验特殊字符
 */
export function checkString(val) {
  return /^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$/.test(val);
}

/**
 * 校验姓名
 */
export function checkName(val) {
  return /^[\u4e00-\u9fa5]{2,6}$/.test(val);
}
